Modern data processing networks enable various types of computers to interconnect with a communications network. Peripheral units, such as printers, plotters, etc., are also connected to the communications network and serve as resources for the connected computers. Those peripherals must be able to understand and respond to commands received from the various computers. So long as all connected computers employ the same peripheral control language, a peripheral unit needs to recognize and respond to only that language. When, however, computers employ different peripheral control languages, the peripheral unit must be designed so that it can recognize and respond to the different incoming languages.
In U.S. patent application Ser. No.: 07/825,479, entitled "Language Identification System and Method For a Peripheral Unit" to Sean E. Walton, a system is described that enables a peripheral unit to identify a control language by both syntactical and contextual analyses of an incoming data block. The system includes a voter module for each expected language, each voter module providing to a "decider" module, a vote for or against its specific language. The decider module, upon analysis of inputs from each voter module causes the peripheral to enable one of its control language programs in accordance with the voter module inputs or, in the event no language is discerned, causes the peripheral to cease operation. In order for the aforementioned syntax and contextual analysis system to operate reliably, boundaries between jobs that employ different control languages must be identified reliably.
One method currently employed by peripherals that support multiple control languages is to use an approach called "time-out" job separation. The procedure requires a fixed time to expire between jobs before the peripheral unit can enter a state where it is enabled to determine a next language. If the next job appears before the time out has expired, the peripheral unit assumes that there has been no language change and misprints can occur that produce hundreds of pages of illegible text.
In many systems that employ multiple peripheral control languages, a buffering device is placed between the communications network and the peripheral unit to provide auxiliary storage for jobs being inputted into the peripheral unit. Such buffering devices often do not support the time-out job separation procedure. Thus, the peripheral unit can receive a plurality of jobs in sequence from the buffering device with little or no time-out separation.
Two commonly used printer control languages are PCL and PostScript. PostScript language jobs usually employ an end-of-job marker which, when used, simplifies the delineation of multiple print jobs. By contrast, PCL jobs often do not employ an end-of-job marker. In either case, when a change of control language occurs between a current job and a succeeding job, if the end of the current job is not properly marked, the succeeding job's control language may not be enabled.
Accordingly, it is the object of this invention to provide an improved method and system for a peripheral unit to determine when to sample an input data stream to check for the occurrence of a control language job boundary.
It is another object of the invention to provide an improved language boundary identification procedure which will determine if input data represents a current control language or a new control language.
It is yet another object of this invention to provide an improved language boundary identification procedure for a peripheral control language that does not employ an end-of-job marker.